package org.example.rubbish.service;

import org.example.rubbish.common.PageResult;
import org.example.rubbish.dto.ProductQuery;
import org.example.rubbish.entity.Product;

public interface ProductService {

    // 获取商品列表（分页）
    PageResult<Product> getProductList(ProductQuery query);

    // 根据ID获取商品
    Product getProductById(Long id);

    // 添加商品
    void addProduct(Product product);

    // 更新商品
    void updateProduct(Product product);

    // 删除商品
    void deleteProduct(Long id);

    // 上架/下架商品
    void updateProductStatus(Long id, Integer status);

    // 检查商品是否可以删除
    boolean canDeleteProduct(Long productId);
}